/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bean;

import java.io.Serializable;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


/**
 *
 * @author Ovidio Alonso Zapata
 */

public class Paciente implements Serializable {
    private static final long serialVersionUID = 1L;

    private String identificacion;
   
    private Date fechaRegistro;

    private Date fechaNacimiento;
   
    private BigDecimal paisNacimiento;
 
    private String estadoNacimiento;
  
    private String municipioNacimiento;
    
    private String genero;
 
    private String raza;
 
    private String lateralidad;
   
    private BigDecimal paisResidencia;
  
    private String estadoResidencia;
   
    private String municipioResidencia;
   
    private String escolaridad;
  
    private String nivelEscolaridad;
   
    private String ocupacion;
    
    private String cargo;

    private BigDecimal frecuenciaDeporte;
   
    private String deporte;
  
    private String eps;
   
    private String tipoEps;
   
    private String tCamisa;
 
    private String tPantalon;
   
    private BigDecimal tZapato;
   
    private BigDecimal edadP;
    
    private BigDecimal edadM;
   
    private BigDecimal paisP;
   
    private BigDecimal paisM;
  
    private String estadoP;
   
    private String estadoM;

    public String getMunicipioM() {
        return municipioM;
    }

    public void setMunicipioM(String municipioM) {
        this.municipioM = municipioM;
    }

    public String getMunicipioNacimiento() {
        return municipioNacimiento;
    }

    public void setMunicipioNacimiento(String municipioNacimiento) {
        this.municipioNacimiento = municipioNacimiento;
    }

    public String getMunicipioP() {
        return municipioP;
    }

    public void setMunicipioP(String municipioP) {
        this.municipioP = municipioP;
    }

    public String getMunicipioResidencia() {
        return municipioResidencia;
    }

    public void setMunicipioResidencia(String municipioResidencia) {
        this.municipioResidencia = municipioResidencia;
    }
    
    private String municipioP;
    
    private String municipioM;
  
    private BigDecimal estaturaP;
   
    private BigDecimal estaturaM;
   
    private BigDecimal nroHijos;
  
    private BigDecimal nroHnos;
  
    private String estado;

    private BigDecimal evaluacion;

    public BigDecimal getEvaluacion() {
        return evaluacion;
    }

    public void setEvaluacion(BigDecimal evaluacion) {
        this.evaluacion = evaluacion;
    }
    public Paciente() {

    }

    public Paciente(String identificacion) {
        this.identificacion = identificacion;
    }

    public String getIdPaciente() {
        return identificacion;
    }

    public void setIdPaciente(String identificacion) {
        this.identificacion = identificacion;
    }

    public Date getFechaRegistro() {
        return fechaRegistro;
    }

    public void setFechaRegistro(Date fechaRegistro) {
        this.fechaRegistro = fechaRegistro;
    }

    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }

    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    public BigDecimal getPaisNacimiento() {
        return paisNacimiento;
    }

    public void setPaisNacimiento(BigDecimal paisNacimiento) {
        this.paisNacimiento = paisNacimiento;
    }

    public String getEstadoNacimiento() {
        return estadoNacimiento;
    }

    public void setEstadoNacimiento(String estadoNacimiento) {
        this.estadoNacimiento = estadoNacimiento;
    }


    public String getGenero() {
        return genero;
    }

    public void setGenero(String genero) {
        this.genero = genero;
    }

    public String getRaza() {
        return raza;
    }

    public void setRaza(String raza) {
        this.raza = raza;
    }

    public String getLateralidad() {
        return lateralidad;
    }

    public void setLateralidad(String lateralidad) {
        this.lateralidad = lateralidad;
    }

    public BigDecimal getPaisResidencia() {
        return paisResidencia;
    }

    public void setPaisResidencia(BigDecimal paisResidencia) {
        this.paisResidencia = paisResidencia;
    }

    public String getEstadoResidencia() {
        return estadoResidencia;
    }

    public void setEstadoResidencia(String estadoResidencia) {
        this.estadoResidencia = estadoResidencia;
    }



    public String getEscolaridad() {
        return escolaridad;
    }

    public void setEscolaridad(String escolaridad) {
        this.escolaridad = escolaridad;
    }

    public String getNivelEscolaridad() {
        return nivelEscolaridad;
    }

    public void setNivelEscolaridad(String nivelEscolaridad) {
        this.nivelEscolaridad = nivelEscolaridad;
    }

    public String getOcupacion() {
        return ocupacion;
    }

    public void setOcupacion(String ocupacion) {
        this.ocupacion = ocupacion;
    }

    public String getCargo() {
        return cargo;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

    public BigDecimal getFrecuenciaDeporte() {
        return frecuenciaDeporte;
    }

    public void setFrecuenciaDeporte(BigDecimal frecuenciaDeporte) {
        this.frecuenciaDeporte = frecuenciaDeporte;
    }

    public String getDeporte() {
        return deporte;
    }

    public void setDeporte(String deporte) {
        this.deporte = deporte;
    }

    public String getEps() {
        return eps;
    }

    public void setEps(String eps) {
        this.eps = eps;
    }

    public String getTipoEps() {
        return tipoEps;
    }

    public void setTipoEps(String tipoEps) {
        this.tipoEps = tipoEps;
    }

    public String getTCamisa() {
        return tCamisa;
    }

    public void setTCamisa(String tCamisa) {
        this.tCamisa = tCamisa;
    }

    public String getTPantalon() {
        return tPantalon;
    }

    public void setTPantalon(String tPantalon) {
        this.tPantalon = tPantalon;
    }

    public BigDecimal getTZapato() {
        return tZapato;
    }

    public void setTZapato(BigDecimal tZapato) {
        this.tZapato = tZapato;
    }

    public BigDecimal getEdadP() {
        return edadP;
    }

    public void setEdadP(BigDecimal edadP) {
        this.edadP = edadP;
    }

    public BigDecimal getEdadM() {
        return edadM;
    }

    public void setEdadM(BigDecimal edadM) {
        this.edadM = edadM;
    }

    public BigDecimal getPaisP() {
        return paisP;
    }

    public void setPaisP(BigDecimal paisP) {
        this.paisP = paisP;
    }

    public BigDecimal getPaisM() {
        return paisM;
    }

    public void setPaisM(BigDecimal paisM) {
        this.paisM = paisM;
    }

    public String getEstadoP() {
        return estadoP;
    }

    public void setEstadoP(String estadoP) {
        this.estadoP = estadoP;
    }

    public String getEstadoM() {
        return estadoM;
    }

    public void setEstadoM(String estadoM) {
        this.estadoM = estadoM;
    }


    public BigDecimal getEstaturaP() {
        return estaturaP;
    }

    public void setEstaturaP(BigDecimal estaturaP) {
        this.estaturaP = estaturaP;
    }

    public BigDecimal getEstaturaM() {
        return estaturaM;
    }

    public void setEstaturaM(BigDecimal estaturaM) {
        this.estaturaM = estaturaM;
    }

    public BigDecimal getNroHijos() {
        return nroHijos;
    }

    public void setNroHijos(BigDecimal nroHijos) {
        this.nroHijos = nroHijos;
    }

    public BigDecimal getNroHnos() {
        return nroHnos;
    }

    public void setNroHnos(BigDecimal nroHnos) {
        this.nroHnos = nroHnos;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (identificacion != null ? identificacion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Paciente)) {
            return false;
        }
        Paciente other = (Paciente) object;
        if ((this.identificacion == null && other.identificacion != null) || (this.identificacion != null && !this.identificacion.equals(other.identificacion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "bean.Paciente[identificacion=" + identificacion + "]";
    }
    
    
  public int getEdadMeses() {
       Calendar fechaNac = Calendar.getInstance();
       Calendar horaActual = Calendar.getInstance();
       fechaNac.setTime(this.getFechaNacimiento());
       int meses = 0;
       meses = (horaActual.get(Calendar.YEAR) -  fechaNac.get(Calendar.YEAR)) * 12;
       int difMeses = horaActual.get(Calendar.MONTH) -  fechaNac.get(Calendar.MONTH);
       meses = meses + difMeses;        
       return meses;
   }
    
public int getEdadPaciente() {
       Calendar fechaNac = Calendar.getInstance();
       Calendar horaActual = Calendar.getInstance();
       int anoActual = horaActual.get(Calendar.YEAR);
       fechaNac.setTime(this.getFechaNacimiento());       
       int edad = 0;
       edad = anoActual - fechaNac.get(Calendar.YEAR);
       int difMeses = horaActual.get(Calendar.MONTH) - fechaNac.get(Calendar.MONTH);
       if (difMeses <= 0) {
           edad--;
       }
       return edad;
   }

 

    
//        public boolean equals(Object o){
//        if(o == null || !(o instanceof Persona))
//            return false;
//        return ((Persona)o).getCedula().equalsIgnoreCase(this.getCedula());
//    }

}
